package serialData;

//import com.cn.constant.ConstantValue;
//import com.cn.model.Request;
//import org.jboss.netty.buffer.ChannelBuffer;
//import org.jboss.netty.buffer.ChannelBuffers;
//import org.jboss.netty.channel.Channel;
//import org.jboss.netty.channel.ChannelHandlerContext;
//import org.jboss.netty.android.handler.codec.oneone.OneToOneEncoder;

import eightDataType.ByteUtil;

import java.util.ArrayList;
import java.util.List;

/**
 * 请求编码器
 * <pre>
 * 数据包格式
 * +——----——+——-----——+——----——+——----——+——-----——+
 * | 包头          | 模块号        | 命令号      |  长度        |   数据       |
 * +——----——+——-----——+——----——+——----——+——-----——+
 * </pre>
 * 包头4字节
 * 模块号2字节short
 * 命令号2字节short
 * 长度4字节(描述数据部分字节长度)
 * 
 * @author -琴兽-
 *
 */
public class RequestEncoder{
	/**
	 * 起始字符	包序号	命令类别	命令码	数据域长度	返回码	数据域	校验
	 * 0x5A(1字节)
	 * 0x00~0xFFFF(2字节)
	 * 0x01(1字节)
	 * (1字节)	高位在前
	 *  (2字节)
	 * (1字节)
	 * (N字节)	LRC
	 * (1字节)
	 */
	static short packageNum =0;
	static short packageMax = Short.MAX_VALUE;
	public static void main(String[] args) {
		int a =0xffff;//65535
		System.out.println(a);


		List<Byte> buffer = new ArrayList<>();



		 // 起始字符	包序号	命令类别	命令码	数据域长度	返回码	数据域	校验
		 //0x5A(1字节)
		byte a5 = 0;
		try {
			a5 = ByteUtil.hexToByte("5A");
		} catch (NumberFormatException e) {
			e.printStackTrace();
		}
		buffer.add(a5);
		 	//
		 // 0x00~0xFFFF(2字节)
//		buffer.add(Byte.v);



//		 * 0x01(1字节)
//		 * (1字节)	高位在前
//		 *  (2字节)
//		 * (1字节)
//		 * (N字节)	LRC
//		 * (1字节)
//		 */


//		Request request = (Request)(rs);
//
//		ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
//		ByteBuffer buffer ;
//		//包头
//		buffer.writeInt(ConstantValue.FLAG);
//		//module
//		buffer.writeShort(request.getModule());
//		//cmd
//		buffer.writeShort(request.getCmd());
//		//长度
//		buffer.writeInt(request.getDataLength());
//		//data
//		if(request.getData() != null){
//			buffer.writeBytes(request.getData());
//		}
//
//		return buffer;
	}

}
